The main arrow commands of version 2 were the ??c![] and ??c![] commands that have been replaced by the || command.
|v2| provides them as well as uses them to define the version 2 commands ??c![], ??c![], ??c![], ??c![], ??c![], and all the derived commands ||, ||, ...; the || commands of the β-releases of v3 is also provided.
Instead of commands like || and || you should use the arrow feature replacements |[rr]| and |@=[ul]|.
The predefined turning solid arrows ||, ..., || are defined as well; these are now easy to do with <turn>s.
2
( arrow @= )
We exploit that || could only be used for straight connections.
( @= =** - >?>*) <;?<*; : Unpack this to what || does for efficiency.
|| is essentially unchanged except we now use the privacy checking commands.
( @#1#2#3#4@x#1#2#3#4@u#1#2#3#4[u]@d#1#2#3#4[d]@l#1#2#3#4[l]@r#1#2#3#4[r]@uu#1#2#3#4[uu]@dd#1#2#3#4[dd]@ll#1#2#3#4[ll]@rr#1#2#3#4[rr]@ur#1#2#3#4[ur]@ul#1#2#3#4[ul]@dr#1#2#3#4[dr]@dl#1#2#3#4[dl]@uul#1#2#3#4[uul]@uur#1#2#3#4[uur]@ull#1#2#3#4[ull]@urr#1#2#3#4[urr]@ddl#1#2#3#4[ddl]@ddr#1#2#3#4[ddr]@dll#1#2#3#4[dll]@drr#1#2#3#4[drr]@uull#1#2#3#4[uull]@uurr#1#2#3#4[uurr]@ddll#1#2#3#4[ddll]@ddrr#1#2#3#4[ddrr]
to line dashed dotted double )
: These could be "hugely" optimised by using the |arrow| feature directly...
Next the predefined bent morphisms of version 2. These required some hacking to work; I hope this doesn't mean that the <path> semantics has changed to much...
( @ @
@@#1#2#3#4#5;[#3] @@@=@ #1<#2@ii=#2@ii=#1 @@>@ii +@+@ii @ [#3] `#4[#3]#5/#4@/ `[#3]
@@#1#2#3#4#5@@@@@=@ @ii=#1 @@>@ii +@+@ii @=@ @ii=#2 @@>@ii +@+@ii #4:(-1,0)> `"@" "@" `#3"@"#5/#3@/#5/#4@/ `"@"#5/#4@/
@@lld+ @@llu+ @@rrd+ @@rru+ @@ddl+ @@ddr+ @@uul+ @@uur+
@@ld+ @@lu+ @@rd+ @@ru+ @@dl+ @@dr+ @@ul+ @@ur+
)
Finally the version 2 arrow radius default command that actually never worked but some people might hope...
( @@ )
3